package com.glsc.ngateway.common.xir.domain;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.*;

import lombok.Data;

/**
 * @author houzhc
 * @description: TODO hzc
 * @date 2024年07月18日
 */
@Data
@Entity
@Table(name = "XIR_TRD.TTRD_OTC_PLEDGEBOND")
@IdClass(TtrdOtcPledgebondMKey.class)
public class TtrdOtcPledgebond implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "I_CODE", nullable = false)
    private String iCode;

    @Id
    @Column(name = "A_TYPE", nullable = false)
    private String aType;

    @Id
    @Column(name = "M_TYPE", nullable = false)
    private String mType;

    @Id
    @Column(name = "P_I_CODE", nullable = false)
    private String pICode;

    @Id
    @Column(name = "P_M_TYPE", nullable = false)
    private String pMType;

    @Id
    @Column(name = "P_A_TYPE", nullable = false)
    private String pAType;

    @Column(name = "PARVALUE", nullable = false)
    private BigDecimal parvalue;

    @Column(name = "DISCOUNT", nullable = false)
    private BigDecimal discount;

    @Column(name = "DISAMOUNT", nullable = false)
    private BigDecimal disamount;

    @Id
    @Column(name = "PARTYTYPE", nullable = false)
    private String partytype;

    @Column(name = "RESERTYPE", nullable = false)
    private String resertype;

    @Column(name = "EVAL_NETPRICE", nullable = false)
    private BigDecimal evalNetprice;

    @Column(name = "EVAL_FULLPRICE", nullable = false)
    private BigDecimal evalFullprice;

    @Column(name = "B_GRADE", nullable = false)
    private String bGrade;

    @Column(name = "B_ISSUER_GRADE", nullable = false)
    private String bIssuerGrade;

    @Column(name = "NEXT_SETTLE_DATE", nullable = false)
    private String nextSettleDate;

    @Column(name = "NEXT_NOMINAL", nullable = false)
    private BigDecimal nextNominal;

    @Column(name = "PARVALUE_REAL", nullable = false)
    private BigDecimal parvalueReal;

    @Column(name = "DISAMOUNT_REAL", nullable = false)
    private BigDecimal disamountReal;

    @Column(name = "NEXT_INTEREST", nullable = false)
    private BigDecimal nextInterest;

    @Column(name = "ADJUST_DISAMOUNT_REAL", nullable = false)
    private BigDecimal adjustDisamountReal;

    @Column(name = "EVAL_NETPRICE_TCB", nullable = false)
    private BigDecimal evalNetpriceTcb;

    @Column(name = "EVAL_NETPRICE_QSS", nullable = false)
    private BigDecimal evalNetpriceQss;

    @Column(name = "EVAL_NETPRICE_ZZ", nullable = false)
    private BigDecimal evalNetpriceZz;

    @Column(name = "SORTNUM", nullable = false)
    private BigDecimal sortnum;

    @Column(name = "F_UNITNAV", nullable = false)
    private BigDecimal fUnitnav;

    @Column(name = "INTERNAL_RATING", nullable = false)
    private String internalRating;

    @Column(name = "INTERNAL_DISCOUNT", nullable = false)
    private BigDecimal internalDiscount;

    @Column(name = "SHARE_PROPERTY_TYPE", nullable = false)
    private String sharePropertyType;

    @Column(name = "OUT_AMOUNT", nullable = false)
    private BigDecimal outAmount;

    @Column(name = "FULL_PRICE", nullable = false)
    private BigDecimal fullPrice;

    @Column(name = "FULL_COUNT", nullable = false)
    private BigDecimal fullCount;

    @Column(name = "NETPRICE", nullable = false)
    private BigDecimal netprice;

    @Column(name = "AIAMOUNT", nullable = false)
    private BigDecimal aiamount;

    @Column(name = "INTERNAL_TIME_LIMIT", nullable = false)
    private BigDecimal internalTimeLimit;

    @Column(name = "SECU_ACCID_AMOUNT", nullable = false)
    private String secuAccidAmount;

    @Column(name = "IS_MULTIPLE_SECU", nullable = false)
    private String isMultipleSecu;

}
